package com.lqian.demo02.part2.threadlocal;

/**
 * @author：Melody_LQ
 * @time：2022/7/14 11:47 上午
 */
public class Concept {

    /**
     * 之前的的JDBC连接都是写的单线程连接。
     * 如果考虑并发问题:  A  -- > B
     * connection = DBUtils.getConnection();
     * A - 100; 获取一次connection连接
     * B + 100; 获取一次connection连接
     *
     * 在多线程场景下，如果有另外一个C用户进行转账操作时
     * 此时极有可能获取的是用户A的连接（如果不限制连接，这种情况是极有可能发生的，而且相当的严重）
     * 那么B用户可做的操作就可以影响到A，造成错误的结果！
     * 那么我们就需要对我们的连接进行一个限制，即每个用户只能使用自己的连接，不能使用别人的连接。
     * 这里每个用户可以视为一个线程。
     *
     * java中为我们提供了这样一个类ThreaLocal，线程本地变量，也有叫线程本地存储的。
     * 在JDBC连接中，可以用这个类来存储连接给线程去用，
     * 每个线程从ThreadLocal中获取连接，每个线程都只能使用他自己获取的这个连接，不能使用其他线程的连接
     *
     *
     *
     *
     */
}
